package com.mycc.lease.model.enums;

import com.baomidou.mybatisplus.annotation.EnumValue;
import com.fasterxml.jackson.annotation.JsonValue;


public enum ItemType implements BaseEnum {

    APARTMENT(1, "公寓"),

    ROOM(2, "房间");

    /**
     * 代码属性，用于表示某种状态或结果代码。
     * 使用Integer类型来存储代码，同时通过@EnumValue和@JsonValue注解，使得这个属性能够在枚举和JSON序列化与反序列化中起到关键作用。
     * @EnumValue 注解使得枚举类中的每个值能够被映射到这个属性上，增强了代码的可读性和可维护性。
     * @JsonValue 注解则指示这个属性在JSON序列化和反序列化时作为唯一标识符使用，简化了数据的传输和解析过程。
     */
    @EnumValue
    @JsonValue
    private Integer code;

    private String name;

    @Override
    public Integer getCode() {
        return this.code;
    }


    @Override
    public String getName() {
        return name;
    }

    ItemType(Integer code, String name) {
        this.code = code;
        this.name = name;
    }

}
